//
//  RTManager.h
//  GLUZ
//
//  Created by GS on 2025/2/18.
//  科大讯飞实时语音翻译 （注意，使用的Socket链接会出现断联的情况，没有解决，一对一时屏幕上就不显示翻译内容）

#import <Foundation/Foundation.h>
#import <SocketRocket/SocketRocket.h>

NS_ASSUME_NONNULL_BEGIN

@protocol RealtimeTranslationHandler <NSObject>
@optional


/// 语音识别出来的最终结果的文本sttText, 翻译成目标语言(如:英语)的文本translatedText
/// - Parameters:
///   - sttText: 语音识别出的文本
///   - translatedText: 转成目标语言的文本
- (void)onRecognizedText:(NSString * _Nullable)sttText translatedText:(NSString * _Nullable)translatedText;
/// 关闭
- (void)didCloseWithCode:(NSInteger)code reason:(NSString *)reason;
/// 错误回调
- (void)onError:(NSError *)error;
@end

@interface RTManager : NSObject
@property (nonatomic, weak) id<RealtimeTranslationHandler> eventHandler;
@property (nonatomic, strong) NSString *lang; //实时语音转写语种
@property (nonatomic, strong) NSString *targetLang; //目标翻译语种
// 创建连接
- (void)connectWebSocket;
// 发送实时语音
- (void)sendAudioData:(NSData *)audioData;
// 断线重连
- (void)reconnectWebSocket;
// 关闭 WebSocket 连接
- (void)disconnectWebSocket;
@end

NS_ASSUME_NONNULL_END
